package warenautomat;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Ware {
   private String mName;
   private int mPreisInRappen;
   private Date mAblauf;
   private Date mVerkaufsdatum;

   private SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");

   /*
    * Konstruktor
    */
   public Ware(String pName, int pPreisInRappen, Date pAblauf) {
      mName = pName;
      mPreisInRappen = pPreisInRappen;
      mAblauf = pAblauf;
      mVerkaufsdatum = null;

      System.out.println("Ware::Ware(" + mName + ", " + mPreisInRappen + "Rp., " + formatter.format(mAblauf) +"): ");
   }

   public boolean getIstAbgelaufen() {
      boolean istAbgelaufen = true;

      if (mAblauf.after(SystemSoftware.gibAktuellesDatum())) {
         istAbgelaufen = false;
      }

      System.out.println("Ware::getIstAbgelaufen(): " + istAbgelaufen);
      return istAbgelaufen;
   }

   public String getName() {
      System.out.println("Ware::getName(): " + mName);
      return mName;
   }

   public int getPreisInRappen() {
      System.out.println("Ware::getPreisInRappen(): " + mPreisInRappen);
      return mPreisInRappen;
   }

   public Date getAblaufDatum() {
      System.out.println("Ware::getAblaufDatum(): " + formatter.format(mAblauf));
      return mAblauf;
   }

   public Date getVerkaufsDatum() {
      if(mVerkaufsdatum == null){
         System.out.println("Ware::getVerkaufsDatum(): -");
      } else {
         System.out.println("Ware::getVerkaufsDatum(): " + formatter.format(mVerkaufsdatum));
      }
      return mVerkaufsdatum;
   }

   public void setVerkaufsdatum(Date pVerkaufsdatum) {
      mVerkaufsdatum = pVerkaufsdatum;
      System.out.println("Ware::setVerkaufsdatum(" + formatter.format(mVerkaufsdatum) + "):");
   }
}
